import 'package:get/get.dart';

import '../../get/my_getobserver.dart';

class RouteHelper {

  /// 跳转到唯一页面：如果目标页面已存在于导航栈中，则返回该页面；
  /// 如果页面不存在，则创建并跳转过去。
  static void pushIfNotExist(String routeName, {dynamic arguments}) {

    if (MyGetObserver.contains(routeName)) {
      // 回退到目标页面
      while (Get.currentRoute != routeName && Get.key.currentState?.canPop() == true) {
        Get.back();
      }
    } else {
      Get.toNamed(routeName, arguments: arguments);
    }
  }
}